package com.mjf.datatype;

//--二维数组
//--Java中多维数组不必都是规则矩阵形式

public class ArrayUse2 {

    public static void main(String[] args) {

        //--定义二维数组第一种方式（动态初始化）
        //--二维数组中有3个一维数组，每一个一维数组中有2个元素
        int[][] arr1 = new int[3][2];
        arr1[0][1] = 78;

        for (int[] arr:arr1) {
            for (int a:arr) {
                System.out.println(a);
            }
        }

        //--定义二维数组第二种方式（动态初始化）
        //--二维数组中有3个一维数组, 每个一维数组都是默认初始化值null
        int[][] arr2 = new int[3][];
        //--可以对这个三个一维数组分别进行初始化
        arr2[0] = new int[3];
        //--System.out.println(arr2[1][0]); 报错：因为arr[1]没有创建之前默认是null,所以没有下标为0的元素
        arr2[1] = new int[1];
        arr2[2] = new int[2];

        for (int[] arr:arr2) {
            for (int a:arr) {
                System.out.println(a);
            }
        }

        //--定义二维数组第三种方式（静态初始化）
        int[][] arr3 = new int[][]{{3,8,2},{2,7},{9,0,1,6}};

        for (int[] arr:arr3) {
            for (int a:arr) {
                System.out.println(a);
            }
        }

    }
}
